A method and apparatus is described that pertains to load sharing/trunking in a communication device used in unicast and/or multicast interchange of information.
Networking is generally known as a configuration of computers, software and communication devices interconnected together as to facilitate the interchange of information. A networking system may be divided into a plurality of links. One type of link is a local area network (LAN) that connects a plurality of computers together within a close proximity. Another link type is a wide area network (WAN) which connects a plurality of LANs over greater distances.
For information traffic purposes, information transmitted through the networking system is generally segmented into quantifiable packets known as xe2x80x9cframesxe2x80x9d or xe2x80x9ccellsxe2x80x9d depending on the type of communication protocol used in the system. One such protocol is the asynchronous transfer mode (ATM) in which information is segmented into a plurality of fixed length packets called cells. The cells are then attached with destination addresses and transmitted at predetermined transmission rates through the networking system until the cells reach their destination which usually are xe2x80x9cports.xe2x80x9d
Network devices such as xe2x80x9cswitchesxe2x80x9d allow users, servers, and LANs to communicate over the networking system. As an example, switches known as xe2x80x9cedge switchesxe2x80x9d contain interface cards that allow users, servers, and LANs to communicate with xe2x80x9ccorexe2x80x9d devices that perhaps make up the WAN. xe2x80x9cCore switchesxe2x80x9d on the other hand, also known as xe2x80x9ctrunk cardsxe2x80x9d, generally contain WAN interface cards to communicate with other core switches.
An interface card generally has one or more physical ports that send or receive information that may be segmented, such as cells. A switch interconnects the physical ports on one interface card to the physical ports on another interface card to facilitate information interchange in the networking system. Each physical port becomes a xe2x80x9csourcexe2x80x9d port or a xe2x80x9cdestinationxe2x80x9d port depending on whether the port is transmitting or receiving information. In addition, each physical port is assigned an xe2x80x9caddressxe2x80x9d which becomes a xe2x80x9csourcexe2x80x9d address or a xe2x80x9cdestinationxe2x80x9d address again depending on whether the port is transmitting or receiving information.
One type of trunk card contains a plurality of ports that are physically designated as a Multi-Link Trunk (MLT). A xe2x80x9cMulti-Link Trunkxe2x80x9d (MLT) is a group of physical ports associated together to act as one logical port. As an example, a group of 100 megabytes per second (Mbps) ports can be associated together for increasing bandwidth between two devices where a gigabyte ethernet is either unavailable or deemed too costly. However, a problem associated with such trunk cards is that if one of the ports failed, the bandwidth of the MLT is reduced proportionally. In the case where the reduced bandwidth is insufficient for the link, the information interchange through the MLT is suspended.
Using MLT presents other problems. For example, in multicast or broadcast situation, traffic received on one port of the interface card should only broadcast out on one port of an MLT. Otherwise, undesirable echoes would result at the destination end of the MLT. In a previous method, one port of the MLT was designated as a multicast port. Thus, that port transmitted all the information related to multicast. A problem exists in that the information transmitted is not load shared. Thus, the bandwidth of the multicast link is limited to the bandwidth of the designated multicast port. Moreover, a failure of the designated port causes a multicast failure of the link represented by the port.
Widespread use of the networking system are made by various entities such as telecommunication companies, brokerage firms, banks, large manufacturing companies, electronic commerce and so forth. For these entities, reliability is of utmost importance. A breakdown of information interchange in the links within the networking system generally brings about great economic loss and hardship.
A method and apparatus is described which pertains to load sharing/trunking in a communication device used in unicast and/or multicasting interchange of information. In one embodiment, a plurality of available ports in the interface cards of the device is identified. A group of the available ports is selected to be configured as a Multi-Link Trunk (MLT) even though the ports may be located on different interface cards. Many advantages are attainable from the above configuration.
For example, because any suitable ports may be selected for the MLT, the bandwidth of the MLT is scalable to accommodate the transmission rate required of the MLT. Also, if one of the selected ports fail, another port is selected from the table that is suitable for the MLT. In this manner, the resiliency of the MLT is sustained.
In one embodiment, a load sharing/trunking circuit generates an identification for the packet to be transmitted in an MLT and uses the identification to determine the physical port in which the data is to be transmitted. One advantage is that packets belonging to the same conversation are transmitted in the same physical port while achieving reasonable load sharing. This overcomes a problem in which packets of the same conversation is transmitted to a destination through different physical ports. Such packets may arrive at the destination in a different sequential order which complicates the de-segmentation of the packets.
In one embodiment, problems associated with implementing an MLT in a flooded traffic situation such as multicast or broadcast are overcome. According to the embodiment, the load sharing/trunking circuit selects an Multicast Group Identification (MGID) which identifies a plurality of physical ports in which packets are to be multicasted. One advantage is that packets to be multicasted are load shared in an MLT in a multicasting environment.
Additional features, embodiments, and benefits will be evident in view of the figures and detailed description presented herein.